در مباحث امنیت اطلاعات الکترونیکی دو مسئله عمده وجود دارد: یکی قابلیت اعتماد و محرمانه بودن (Confidentiality) در انتقال یا ذخیره اطلاعات و دیگری درستی و یکپارچگی (Integrity).
زمانی که مجموعهای از اطلاعات خصوصی خودتان را ایمیل میکنید یا مثلا شماره حساب و رمز حساب بانکیتان را در سامانه مربوطه وارد میکنید یا حتی یک فایل شخصی را بر روی کامپیوتر یا گوشی موبایلتان ذخیره میکنید، دوست دارید شخص غیرمجاز نتواند به اطلاعات شما دسترسی داشته باشد. این قابلیتی است که از آن به Confidentiality یاد میکنند.
اما بعضی وقتها Confidentiality یا محرمانه بودن دغدغه شمای کاربر نیست. فرض کنید اطلاعاتی را در دسترس عموم قرار دادهاید. اطلاعات شما نه تنها خصوصی و محرمانه نیست بلکه شاید تمایل داشته باشید بازدیدکننده بیشتری هم پیدا کند. مثلا ممکن است این اطلاعات مربوط به تبلیغ درباره یک محصول در دنیای سایبر باشد. در اینجا فقط میخواهید اطلاعاتتان دستکاری نشود! این قابلیتی است که از آن با عنوان صحت و یکپارچگی یا Integrity یاد میکنند. شما فقط میخواهید اطلاعاتتان همانی باشد که ارسال کردهاید نه چیز دیگری. مثلا دوست ندارید سر و کله یک هکر پیدا شود و بر روی عکس پرسنلی پروفایل شما که در سایت شخصیتان عمومی کردهاید، یک دماغ بزرگ قرمز مسخره قرار دهد! یا دوست ندارید امضای دیجیتال شما هک شده و متن نقد شما در صفحه مربوط به یک کتاب الکترونیکی دستکاری شود.
خب! حالا رمزنگاری به میدان آمده و با طراحی مکانیسمهایی قصد دارد ارسال و ذخیره اطلاعات را امن کند. منظور از ایجاد امنیت تعبیه قابلیتهای Confidentiality یا Integrity یا هر دو، بسته به مورد کاربرد است. هکر کیست؟ فردی که بر علیه اطلاعات رمز شده به میدان میآید تا حداقل یکی از دو ویژگی فوقالذکر را زیر سوال ببرد. البته توجهمان معطوف به آن دسته از هکرهایی است که بر علیه خود مکانیسم رمزنگاری وارد عمل میشوند و نه حفرهها و اشکالات امنیتی سختافزاری و نرمافزاری رایج. دسته اخیر در بحث شبکههای کامپیوتری و امنیت شبکه مطرح میشود نه رمزنگاری.
برای تامین ویژگیIntegrity یا صحت و تمامیت اطلاعات، رمزنگار "معمولا" از مکانیسمی به نام درهمسازی (Hash Function) استفاده میکند تا از روی پیغام (Message) و یک کلید (Key) مشترک بین فرستنده و گیرنده اطلاعات، کدی به نام تگ (tag) را ضمیمه اطلاعات کند. گیرنده هم با استفاده از یک مکانیسم راستآزمایی (Authentication) میتواند با در اختیار داشتن سه تکه اطلاعات پیغام، کلید و تگ به صحت یا عدم صحت اطلاعات ارسالی از طرف فرستنده پی ببرد.
برای شکستن Integrity در ارسال یا ذخیره اطلاعات، هکر بایستی بتواند خروجی تابع Hash، یعنی tag، را برای یک پیغام محاسبه کند. با توجه به پیچیدگی محاسباتی مکانیسمهای رمزنگاری، یک هکر فقط میتواند به کمک آزمون و خطا به پیغام رمزشده حمله کند. فرآیند آزمون و خطا مستلزم صرف زمان طولانی و بعضا استفاده از حجم زیاد حافظههای کامپیوتری است. اینجاست که "پارادوکس روز تولد" به جناب هکر ایده میدهد تا فرآیند آزمون و خطا را خیلی کوتاهتر کند!
فرض کنید هکر مجبور باشد n پیغام مختلف را برای پیدا کردن tag یک پیغام خاص بیازماید. اثبات میشود که اگر هکر بتواند یک تصادم (Collision) در برد تابع Hash پیدا کند، کار تمام است. منظور از تصادم، پیدا کردن دو پیغام متفاوت با tag یکسان است. با توجه به کوچکتر بودن برد تابع Hash به نسبت دامنه پیغامها، این احتمال وجود دارد. مسئله شبیه پیدا کردن اشتراک روز تولد بین آدمهای مختلف است. تعمیمیافته مسئله پارادوکس روز تولد میگوید که اگر فضای پیغامها دربرگیرنده n حالت مختلف باشد، در میان حدودا رادیکال n (به مراتب کمتر از n) پیغام مختلف با احتمال دست کم ۵۰ درصد یک تصادم (Collison) رخ خواهد داد.
ثابت میشود به طور متوسط با تنها دو بار تلاش متوالی در یافتن تصادم، هکر موفق به این کار میشود! بنابراین پارادوکس روز تولد حجم محاسبات هکر را به میزان قابل توجهی کاهش میدهد. از دیگر سو لازم است برای دفع خطر حملات، پیچیدگی محاسباتی الگوریتمهای رمزنگاری به طور متناسبی افزایش پیدا کند.
:: موضوعات مرتبط:
امنیت ,
,
:: برچسبها:
حمله روز تولد ,
حمله روز تولد چیست؟ ,
Birthday Attack ,
:: بازدید از این مطلب : 3380
|
امتیاز مطلب : 4
|
تعداد امتیازدهندگان : 1
|
مجموع امتیاز : 1